Tutorials
Getting started
Chart interface
Web components
Chart internals
Data integration
Customization
Frameworks and bundlers
Mobile development
Plug-ins
Compact Chart
Troubleshooting
Glossary
Reference
JSFiddles

Getting the Library

The library is delivered to you as a zip package; everything you need is included. When you license the library, we provide a package that is locked to the domains where your app is hosted.

Installing

Unzip your ChartIQ package (zip) file. The extracted files and folders should include the following:

Distribution package folder

To install ChartIQ on a web server, copy the chartiq folder to the root folder of the web server.

The tutorial Installing the Library Using npm details how the tarball (chartiq-x.x.x.tgz) enables you to do just that.

Testing

Load the helloworld.html template (located in the root folder of the library package) in a web browser. For example, enter the following in your browser's address bar:

http://localhost/helloworld.html

If your code editor includes a live server, you can run helloworld.html from your editor.

Note: You cannot run helloworld.html (or any ChartIQ template) by double-clicking or double-tapping the file. See the Setting Up a Web Server tutorial for help with creating a development environment for viewing ChartIQ templates.

A basic chart similar to the following should appear:

Hello world chart
Figure. Hello world chart.

Troubleshooting

If a chart does not appear when you load helloworld.html, the library is not properly locked to meet your needs and may need the locking entitlements adjusted.

If you received a production license, make sure it is running from:

  • the domain or file system you provided to your account manager,
  • localhost or 127.0.0.1.

Otherwise, open a browser debugger window (F12 on Edge, Chrome, Firebug, or Safari browsers) and check the console for errors.

Email us at support@chartiq.com for help.

License locking mechanism

The keyfile

Starting with Version 9.0.0, your license key is contained in a keyfile (key.js) in the chartiq/ folder. If you use the tarball (chartiq-x.x.x.tgz) to install with npm, you can find the keyfile in node_modules/chartiq/.

Production licenses

A production license can be locked by:

  • IP address (example: 234.43.123.56)
  • Domain name (example: *.chartiq.com)
  • File system (examples: file:///, c:, d:, e:, etc.)
  • Expiration date
  • Any combination of the above

This means that the library will only function if hosted by a web server on the registered domains / IP addresses or from the registered file systems. The library will stop working once the expiration date is reached.

Another option is iframe locking, which is enabled by default. If you are hosting charts in an iframe, you must let us know, so we can unlock this entitlement. The iframe domains must also be present in the domains list.

All copies of the library are unlocked for http://127.0.0.1 and http://localhost so that you can develop on your personal machine.

Note:

  • The file system lock is provided to customers who transpile the library to ES5 for inclusion in applications running on iOS, Android, the Java JRE, .NET, or other platforms.
  • All expiration date locks expire after one year unless otherwise arranged by your account manager.

Trial Licenses

A trial license is expiration date locked only. It will run for a short time on any web view or browser. Once the license has expired, you will need to contact your sales person to request an extension.

Reviewing your license entitlements

You can check all license entitlements in your package by opening your keyfile, key.js, and reviewing the comments at the top of the file.

In versions of the library before 9.0.0, you can find this information in the comments at the top of js/chartiq.js.

Here is an example:

/**
 * x.x.x
 * Generation date: yyyy-dd-mmThh:mm:ss.mmmZ
 * Client name: xxxxxxxxxx
 * Package Type: Technical Analysis
 * License type: annual
 * Expiration date: yyy-mm-dd
 * Domain lock: ["127.0.0.1","localhost","sample.com","sample2.com"]
 * iFrame lock: true
 */

The first line of the comments is the library version.

Updating license locking entitlements using a key file

Starting with Version 9.0.0, all you have to do to extend the expiration date or update any other locking entitlements on an existing installation is replace your current keyfile with an updated version that your account manager will email you.

If you are developing with a framework, a little configuration enables you to extend your license this way without rebundling and redeploying your app. See Hot swapping" the keyfile for instructions.

Updating license locking entitlements when a key file is not available

For versions prior to 9.0.0, there is no key file. Instead, other files are locked, and you need to replace them with new ones to update locking entitlements.

Note: When replacing locked files, it is important that the library versions match. For example, if you are replacing the chartiq.js file in a 7.5 version, you can only use another chartiq.js file from the same version (7.5). If you are unsure of a file's version, open the file and review the header section, which contains the version number see example above.

Version 7.5.0 and earlier

On Version 7.5.0 and prior versions of the library, the following file is locked and must be replaced:

  • js/chartiq.js.

Version 8.0.0 through 8.9.3

Starting with Version 8.0.0, the following files are locked and must be replaced:

  • js/chartiq.js
  • js/standard.js
  • js/advanced.js

If you are using individual module files, the following files are locked and must be replaced:

  • advanced/aggregations.js
  • standard/movement.js
  • standard/touch.js
  • standard/customCharts.js

Plug-ins before Version 9.0.0

The following locked plug-in files must be replaced:

Version 7.0.0 through 7.5.0
  • plugins/activetrader/marketdepth.js
  • plugins/scriptiq/scriptiqApi.js
  • plugins/termstructure/termstructure.js
  • plugins/timespanevent/timespanevent-marker.js
  • modules/studycalc/study-calculator.js
Version 8.0.0 through 8.2.0
  • plugins/activetrader/marketdepth.js
  • plugins/scriptiq/scriptiqApi.js
  • plugins/termstructure/termstructureRender.js
  • plugins/timespanevent/timespanevent-marker.js
  • modules/studycalc/study-calculator.js
Version 8.3.0 through 8.9.3
  • plugins/activetrader/marketdepth.js
  • plugins/scriptiq/scriptiqApi.js
  • plugins/crosssection/render.js
  • plugins/timespanevent/timespanevent-marker.js
  • modules/studycalc/study-calculator.js

Next steps